专利摘要:
In einer Steuerungssoftwarearchitektur zur Realisierung einer dezentralisierten kooperativen Steuerung mehrerer elektronischer Steuerungsvorrichtungen (1, 2, 3), die über ein Netzwerk (500) verbunden sind, besitzt eine Steuerungsanwendungssoftware (10, 40, 41, 70) zur Realisierung der Steuerung eines jeweiligen Systems keine Datenverwaltungsfunktion und keine Zeitsynchronisationsfunktion. Stattdessen werden die Datenverwaltungsfunktion und die Zeitsynchronisationsfunktion einem dezentralisierten Steuerungsanwendungsrahmen (20, 50, 80) zugewiesen, der gemeinsam für die elektronischen Steuerungsvorrichtungen verwendet wird.
公开号:DE102004002020A1
申请号:DE200410002020
申请日:2004-01-14
公开日:2004-07-29
发明作者:Masahiro Kariya Goto;Akihito Kariya Iwai;Toshiki Kariya Matsumoto;Minoru Kariya Okada
申请人:Denso Corp;
IPC主号:G06F15-177
专利说明:
[0001] Die vorliegende Erfindung betriffteine Steuerungssoftwarearchitektur und Steuerungsvorrichtungen,die diese Steuerungssoftwarearchitektur einsetzen, die die Wiederverwendbarkeiteiner Steuerungsanwendungssoftware verbessern kann.
[0002] Herkömmlicherweise ist es gemäß einer über einNetzwerk durchgeführtendezentralisierten kooperativen Steuerung bekannt, dass die Zeitsynchronisationsverarbeitungzwischen entsprechenden Systemen, die über ein Netzwerk verbundensind, oder zwischen Steuerungsanwendungssoftwares und Kommunikationssoftwares,und die Positionsinformationsverarbeitung jeweiliger Steuerungsanwendungssoftwaresebenso wie die Ausführungsreihenfolgeverwaltungder Steuerungsanwendungssoftware explizit in den Steuerungsanwendungssoftwares ausgeführt werden,wie es zum Beispiel in der EP 658257B1 beschrieben ist.
[0003] In derartigen Fällen trennt die kooperative dezentralisierteFahrzeugsteuerung Steuerungsanforderungsbefehlsdaten und gemeinsameDaten für Bedingungeninnerhalb und außerhalbeines Fahrzeugs nicht explizit von Kommunikationsspezifikationsdefinitionenund einer ECU-Softwarepackungskonfiguration.Dementsprechend werden Daten, die dieselbe Bedeutung haben, in denKommunikationsspezifikationsdefinitionen mehrmals definiert. Dieses führt dazu,dass die Kommunikationsspezifikationsdefinitionen sehr redundantsind. Die Kommunikationslast erhöhtsich stark. Außerdemwerden entsprechend der ECU- Softwarepackungskonfigurationdie den Steuerungsanforderungsbefehlsdaten und den Bedingungen innerhalbund außerhalbeines Fahrzeugs gemeinsamen Daten nicht getrennt. Wenn es notwendigist, jeweilige Funktionen der Fahrzeugsteuerung entsprechend demFahrzeugtyp an eine andere ECU zu verschieben, besteht die Möglichkeit, dassdie Verarbeitungsreihenfolge entsprechend dem Anforderungszeitablaufvon einer anderen ECU (elektronische Steuereinheit) oder entsprechend demStatus eines Kommunikationsbusses zwangsweise geändert wird. Dieses kann einennachteiligen Einfluß aufdie Steuerung der Funktion oder/und die gesamte Steuerung des Systemshaben.
[0004] Um derartige Situationen zu vermeiden,ist es notwendig, die Verwaltungsinformationen hinsichtlich derAusführungsreihenfolgevon Steuerungen fürjeweilige Steueranwendungen erneut zu entwickeln, wenn die Funktionender Fahrzeugsteuerungen verschoben werden, so dass jede Steuerungsanwendungdie Reihenfolgeverwaltung geeignet ausführen kann.
[0005] Mit anderen Worten ist es, wenn jedeSteuerungsanwendung die Reihenfolgeverwaltung durchführt, ineinem Fall, in dem die Funktion entsprechend dem Fahrzeugtyp aneine andere ECU verschoben wird, notwendig, die Reihenfolgeverwaltung oder ähnlichesjedes Mal fürjede der Steuerungsanwendungen erneut zu entwickeln. Dementsprechend hatsich neuerdings die Wiederverwendbarkeit von Softwares verschlechtert.
[0006] Daher ist es eine Aufgabe der vorliegenden Erfindung,eine Steuerungssoftwarearchitektur und Steuervorrichtungen, diediese Architektur verwenden, anzugeben, die die Wiederverwendbarkeitvon Steuerungsanwendungssoftwares sogar dann verbessern kann, wenneine Verschiebung von Funktionen zwischen mehreren ECUs durchgeführt wird.
[0007] Die Aufgabe wird erfindungsgemäß mit den Merkmalender unabhängigenAnsprüchegelöst.AbhängigeAnsprüchesind auf bevorzugte Ausführungsformender Erfindung gerichtet.
[0008] Zur Lösung der Aufgabe stellt dievorliegende Erfindung eine erste Steuerungssoftwarearchitektur zurRealisierung einer dezentralisierten kooperativen Steuerung mehrererelektronischer Steuerungsvorrichtungen, die über ein Netzwerk verbundensind, bereit. Gemäß der erstenSteuerungssoftwarearchitektur sind in der jeweiligen Steuerungsanwendungssoftware,die in jeder elektronischen Steuerungsvorrichtung vorbereitet ist,um ein jeweiliges System zu realisieren, keine Datenverwaltungsfunktionund keine Zeitsynchronisationsfunktion vorhanden, und die Datenverwaltungsfunktionund die Zeitsynchronisationsfunktion sind einer untergeordneten dezentralisiertenSteuerungsplattform jeder Steuerungsanwendungssoftware zugewiesen,so dass sie gemeinsam fürdie elektronischen Steuerungsvorrichtungen verwendet werden können.
[0009] Gemäß dem Stand der Technik besitztdie Steuerungsanwendungssoftware, die ein jeweiliges Steuerungssystemrealisiert, eine Datenverwaltungsfunktion und eine Zeitsynchronisationsfunktion,die zum Beispiel den Austausch der Daten und einen Betriebs- oderBerechnungszeitablauf, die zur Ausführung des Systems verwendetwerden, betreffen. Somit ist es, wenn ein bestimmter Abschnitt derSteuerungsanwendungssoftware in der Steuerungsarchitektur zur Realisierungeiner betreffenden Steuerung mehrerer Systeme, die über einNetzwerkes verbunden sind, modifiziert wird, notwendig, sämtlicheAnwendungssoftwares neu zu entwickeln.
[0010] Gemäß der ersten Steuerungssoftwarearchitekturdieser Erfindung sind jedoch sowohl die Datenverwaltungsfunktionund die Zeitsynchronisationsfunktion von der Steuerungsanwendungssoftware getrennt.Stattdessen sind die Datenverwaltungsfunktion und die Zeitsynchronisationsfunktionder untergeordneten dezentralisierten Steuerungsplattform zugewiesen,die dicht beim Netzwerk angeordnet ist. Daher ist eine in einemFall, in dem eine bestimmte oder willkürliche Steuerungsanwendungssoftware modifiziertwird, nur notwendig, nur die dezentralisierte Steuerungsplattformneu zu entwickeln. Mit anderen Worten verbessert diese Erfindungdie Wiederverwendbarkeit anderer Steuerungsanwendungssoftware.
[0011] Außerdem stellt die vorliegendeErfindung eine zweite Steuerungssoftwarearchitektur zur Realisierungeiner dezentralisierten kooperativen Steuerung einer ersten elektronischenSteuerungsvorrichtung und einer zweiten elektronischen Steuerungsvorrichtung,die überein Netzwerk verbunden sind, bereit. Gemäß der zweiten Steuerungssoftwarearchitekturenthältdie erste elektronische Steuerungsvorrichtung mindestens eine Steuerungsanwendungssoftware,die mindestens ein System realisiert, aber keine Datenverwaltungsfunktionaufweist, eine dezentralisierte Steuerungsplattform mit einer Datenverwaltungsfunktionund eine Treibersoftware, die einen Aktuatoransteuerungsbefehl vonder Steuerungsanwendungssoftware über die dezentralisierte Steuerungsplattformempfängtund/oder Daten an die dezentralisierte Steuerungsplattform überträgt. Diezweite elektronische Steuerungsvorrichtung enthält mindestens eine Steuerungsanwendungssoftware,die mindestens ein System realisiert, aber keine Datenverwaltungsfunktionaufweist, eine dezentralisiert Steuerungsplattform mit einer Datenverwaltungsfunktionund eine Treibersoftware, die einen Aktuatoransteuerungsbefehl vonder Steuerungsanwendungssoftware über die dezentralisierte Steuerungsplattformempfängtund/oder Daten an die dezentralisierte Steuerungsplattform überträgt. Außerdem sinddie in der ersten Steuerungsvorrichtung vorgesehene dezentralisierteSteuerungsplattform und die in der zweiten elektronischen Steuerungsvorrichtungvorgesehene dezentralisierte Steuerungsplattform miteinander verallgemeinertbzw. einander angeglichen (commonized with each other).
[0012] Gemäß dieser Anordnung ist dieselbedezentralisierte Steuerungsplattform in der ersten und zweiten elektronischenSteuerungsvorrichtung vorgesehen. Zum Beispiel ist es im Vergleichzu einem Fall, in dem die dezentralisierte Steuerungsplattform nurin der ersten elektronischen Steuerungsvorrichtung vorgesehen ist,möglich,die zum Erhalten der Daten von jeweiligen elektronischen Steuerungsvorrichtungen über dasNetzwerk benötigteVerarbeitungslast zu verringern. Somit hat die zweite Steuerungssoftwarearchitekturzusätzlichzur Wiederverwendbarkeit der Steuerungsanwendungssoftwares, diebei der ersten Steuerungssoftwarearchitektur beschrieben ist, denVorteil der Verhinderung der Verzögerung der Reaktion.
[0013] Außerdem gibt die vorliegendeErfindung eine dritte Steuerungssoftwarearchitektur zur Realisierungeiner dezentralisierten kooperativen Steuerung mehrerer elektronischerSteuerungsvorrichtungen, die überein Netzwerk verbunden sind, an. Gemäß der dritten Steuerungssoftwarearchitekturenthältjede elektronische Steuerungsvorrichtung eine Steuerungsanwendungssoftware,die ein jeweiliges System realisiert, aber keine Datenverwaltungsfunktionaufweist, eine dezentralisierte Steuerungsplattform mit einer Datenverwaltungsfunktion,und eine Treibersoftware. Die dezentralisierte Steuerungsplattformenthältals eine den jeweiligen elektronischen Steuerungsvorrichtungen gemeinsameEinrichtung eine Datenschlage, die vo rübergehend Anforderungsbefehlsdatenzur Realisierung des Systems speichert, und einen Abschnitt für gemeinsame Bedingungsdaten,der vorübergehendBedingungsdaten, die bei der Ausführung des Systems verwendetwerden, speichert.
[0014] Bei diesem Aufbau besitzt die dezentralisierteSteuerungsplattform die Fähigkeit,die Anforderungsbefehlsdaten und die in der Steuerungsanwendungssoftwareverwendeten Bedingungsdaten zu verwalten. Jede der Steuerungsanwendungssoftwareswird von der Datenverwaltungsfunktion freigegeben. Die Wiederverwendbarkeitder Steuerungsanwendungssoftwares wird somit verbessert.
[0015] Die vorliegende Erfindung gibt einevierte Steuerungssoftwarearchitektur zur Realisierung einer dezentralisiertenkooperativen Steuerung mehrerer elektronischer Steuerungsvorrichtungen,die über einNetzwerk verbunden sind, an. Gemäß der vierten Steuerungssoftwarearchitekturenthältjede der Steuervorrichtungen eine Steuerungsanwendungssoftware,die ein jeweiliges System realisiert und keine Zeitsynchronisationsfunktionaufweist, eine dezentralisierte Steuerungsplattform, die gemeinsamfür mehrereelektronische Steuerungsvorrichtungen vorgesehen ist und eine Zeitsynchronisationsfunktionfür Kommunikationssoftwareszur Ausführungvon Kommunikationen zwischen jeweiligen Systemen, zwischen jeweiligenSteuerungsanwendungssoftwares und zwischen jeweiligen elektronischenSteuerungsvorrichtungen aufweist, und eine Treibersoftware, die einenAktuatoransteuerungsbefehl von der Steuerungsanwendungssoftware über diedezentralisierte Steuerungsplattform empfängt und/oder Daten an die dezentralisierteSteuerungsplattform überträgt.
[0016] In einem System, das mehrere über ein Netzwerkverbundene elektronische Steuerungsvorrichtungen aufweist, ist esnotwendig, eine Zeitsynchronisation des Betriebs verarbeitungszeitablaufsin der Steuerungsanwendungssoftware in jedem System oder der für den Betriebverwendeten Daten zu gewährleisten,um Probleme bei der Steuerung zu vermeiden. Dementsprechend weistdie vorliegende Erfindung die Zeitsynchronisationsfunktion der dezentralisiertenSteuerungsplattform und nicht der Steuerungsanwendungssoftware zu.Somit können sogardann, wenn ein oder mehrere Steuerungsanwendungssoftwares ausgetauschtwerden, andere Steuerungsanwendungssoftwares ohne erneute Entwicklungverwendet werden.
[0017] Vorzugsweise werden die Bedingungsdaten zusammenin jeder elektronischen Steuerungsvorrichtung erneuert. Es können zumBeispiel die Bedingungsdaten, die der Steuerungsanwendungssoftwarevon der Treibersoftware zugeführtwerden, mit zeitlichen Unterschieden übertragen oder empfangen werden.In diesem Fall wird der Betriebsablauf in der Steuerungsanwendungssoftwareauf der Grundlage der Bedingungsdaten ausgeführt, die keine zeitliche Konsistenzzueinanderaufweisen, erhalten werden. Jedoch kann eine gleichzeitige Erneuerung sämtlicherBedingungsdaten in jeder elektronischen Steuerungsvorrichtung dieGenauigkeit und/oder Konsistenz des Betriebsablaufergebnisses inder Steuerungsanwendungssoftware der jeweiligen elektronischen Steuerungssoftwaregewährleisten.
[0018] Vorzugsweise wird zuvor jeder derAnforderungsbefehlsdaten eine Priorität zugewiesen. Wenn zum Beispielmehrere elektronische Steuerungsvorrichtungen gelegentlich Anforderungsbefehlsdaten vonihren Steuerungsanwendungssoftwares an eine Datenschlange übertragen,ist es notwendig, dass diese Datenschlange die Reihenfolge der Übertragungder empfangenen Anforderungsbefehlsdaten an betreffende Steuerungsanwendungssoftwares, diediese Daten benötigen,bestimmt. In diesem Fall ermöglichtes eine vorherige Zuweisung der Priorität zu jeder der Anfor derungsbefehlsdaten,die Vermittlung (mediation) unter den empfangenen Anforderungsbefehlsdatenzu vermeiden.
[0019] Vorzugsweise werden sämtlicheAnforderungsbefehlsdaten, die von jeder elektronischen Steuerungsvorrichtungoder von jeder Steuerungsanwendungssoftware übertragen werden, und/oder sämtlicheAnforderungsbefehlsdaten, die von jeder Steuerungsanwendungssoftwareempfangen werden, überdie Datenschlange der dezentralisierten Steuerungsplattform ausgetauscht.Mit diesem Aufbau ist es sogar dann, wenn die Steuerungsanwendungssoftwareentsprechend dem Fahrzeugtyp modifiziert wird, nur notwendig, dieVerarbeitungsreihenfolge jeweiliger modifizierter Anforderungsbefehlsdatenmit Bezug auf die Prioritätder Anforderungsbefehlsdaten von unmodifizierten Steuerungsanwendungssoftwareszu bestimmen. Die Anzahl der fürdie Entwicklung benötigtenMannstunden kann dadurch verringert werden.
[0020] Vorzugsweise ist die dezentralisierteSteuerungsplattform mit Positionsinformationen versehen, die eineECU identifizieren, in der die Steuerungsanwendungssoftware angeordnetist. Wenn zum Beispiel mehrere elektronische Steuerungsvorrichtungendie Anforderungen bzw. Anfragen jeweiliger Steuerungsanwendungssoftwaresaustauschen, kann es möglichsein, dass jede elektronische Steuerungsvorrichtung die Informationbesitzt,,die eine elektronische Steuerungsvorrichtung, in der diebezeichnete Steuerungsanwendungssoftware vorhanden ist, identifiziert.In diesem Fall ist es jedoch notwendig, wenn ein Teil der elektronischenSteuerungsvorrichtungen, die überein Netzwerk verbunden sind, entsprechend dem Fahrzeugtyp geändert wird,und/oder wenn ein Teil der Steuerungsanwendungssoftware geändert wird,Steuerungsanwendungssoftwares, die nicht ausgetauscht werden, neu zuschreiben. Gemäß dieserErfindung ist es jedoch nur notwendig, die dezentralisierte Steuerungsanwendungssoftware,die den jeweiligen elektronischen Steuerungsvorrichtungen oder denjeweiligen Steuerungsanwendungssoftwares gemeinsam ist, neu zu schreiben.Somit kann eine Neuentwicklung gleichzeitig erfolgen.
[0021] Vorzugsweise dient die Zeitsynchronisationsfunktionzur Übertragungder Daten mit Bezug auf einen Übertragungszeitablauf,der entsprechend einer Endzeitdauer für die Verarbeitung in der Steuerungsanwendungssoftwarebestimmt wird, wodurch eine optimale Zeitsynchronisation in jederelektronischen Steuerungsvorrichtung realisiert wird.
[0022] Im allgemeinen besitzt eine elektronische Steuerungsvorrichtungeine Ablaufsteuerungsfunktion, d.h. eine Funktion zur Verwaltungder Reihenfolge der Aktivierungs- und/oderBetriebszeitabläufejeweiliger Steuerungsanwendungssoftwares. Dieses reicht jedoch nichtaus, da ein Problem auftauchen kann, wenn eine andere Steuerungsanwendungssoftwareihren Betriebsablauf beginnt, bevor der Betriebsablauf einer Steuerungsanwendungssoftware nochnicht beendet ist. Genauer gesagt könnte, wenn ein anderer Betriebsablaufzu einem Zeitpunkt startet, in dem die Verarbeitung, die zuvor durchzuführen ist,noch nicht beendet ist, die Verarbeitung auf der Grundlage der altenDaten ausgeführtwerden, die in dem vorherigen Betriebsablauf verwendet wurden. In diesemFall geht die Konsistenz der Daten verloren. Erfindungsgemäß wird der Übertragungszeitablauf jedochauf der Grundlage der Endzeitdauer bestimmt. Somit kann die Konsistenzder Daten gewährleistetwerden. Mit anderen Worten wird erfindungsgemäß die Funktion zur Gewährleistungder Konsistenz der Daten zwischen Steuerungsanwendungssoftwaresund/oder zwischen elektronischen Steuerungsvorrichtungen der dezentralisiertenSteuerungsplattform zugewiesen und nicht jeder Steueranwendungssoftware.Die Zeitsynchronisationsfunktion dieser Erfindung kann als eineFunktion ausgelegt sein, die die Konsistenz (Vereinbarkeit) deroben beschriebenen Daten gewährleistet.
[0023] Vorzugsweise sind der gemeinsameAbschnitt fürBedingungsdaten und die Datenschlange für jede der Steuerungsanwendungssoftwaresvorgesehen, und die Datenschlange enthält eine Anforderungsannahmedatenschlangezum Empfang der Anforderungsbefehlsdaten von einer anderen Steuerungsanwendungssoftwareund eine Anforderungsherausgabedatenschlange zum Herausgeben der Anforderungsbefehlsdatenan eine andere Steuerungsanwendungssoftware. Bei der Verwaltungder in jeder Steuerungsanwendungssoftware erzeugten Anforderungsbefehlsdatenkann eine Unterscheidung zwischen den von ihrer eigenen Steuerungsanwendungssoftwareherausgegebenen Anforderungsbefehlsdaten und den von einer anderenSteuerungsanwendungssoftware herrührenden Anforderungsbefehlsdatendie Entwicklung der dezentralisierten Steuerungsplattform vereinfachen.
[0024] Vorzugsweise ist die dezentralisierteSteuerungsplattform fürjede der Steuerungsanwendungssoftwares vorgesehen.
[0025] Die obigen und anderen Aufgaben,Merkmale und Vorteile der vorliegenden Erfindung werden anhand derfolgenden genaueren Beschreibung mit Bezug auf die zugehörigen Zeichnungenverdeutlicht. Es zeigen:
[0026] 1 einschematisches Diagramm, das einen Gesamtaufbau einer bevorzugtenAusführungsformder vorliegenden Erfindung zeigt,
[0027] 2 einschematisches Diagramm, das hauptsächlich den Aufbau der in 1 gezeigten dezentralisiertenSteuerungsanwendungsrahmen zeigt,
[0028] 3 einDiagramm, das eine detaillierte Steuerungssoftwarearchitektur mitden Inhalten der 1 und 2 und Steuervorrichtungen,die diese Softwarearchitektur verwenden, zeigt,
[0029] 4 eineTabelle, die Datenempfangs-/übertragungsbedingungenin den jeweiligen ECUS der 3 unddie den jeweiligen Steuerungsanforderungsbefehlen zugewiesenen Prioritäten zeigt,und
[0030] 5 einZeitdiagramm zur Erläuterungder Funktion einer dezentralisierten Steuerungsplattform zur Realisierungeiner optimalen Zeitsynchronisation zwischen jeweiligen ECUs.
[0031] Im Folgenden wird eine bevorzugteAusführungsformder vorliegenden Erfindung mit Bezug auf die zugehörigen Zeichnungenerläutert.
[0032] 1 istein schematisches Diagramm, das einen Gesamtaufbau einer bevorzugtenAusführungsformder vorliegenden Erfindung zeigt.
[0033] Eine erste ECU 1 (elektronischeSteuereinheit, im Folgenden als elektronische Steuerungseinrichtungbezeichnet) und eine zweite ECU 2 sind über ein Netzwerk 500 verbunden.Die erste ECU 1 enthälteine Steuerungsanwendungssoftware 10, eine dezentralisierteSteuerungsplattform 20 und eine Treibersoftware 30.Auf ähnlicheWeise enthält diezweite ECU 2 eine Steuerungsanwendungssoftware 40,eine dezentralisierte Steuerungsplattform 50 und eine Treibersoftware 60.
[0034] Jede der Steuerungsanwendungssoftwares 10 und 40 dientzur Realisierung eines oder mehrerer Systeme. Die durch diese Steuerungsanwendungssoftwaresrealisierten Systeme betreffen z. B. verschiedene Fahrzeugsteuerungsvorrichtungenoder -ausrüstungenwie z. B. ein Antischlupfsteuerungssystem, ein Antriebssteuerungssystem,ein Fahrzeugverhaltensstabilisierungssystem, ein Bremsassistentensystemund ein Motorsteuerungssystem. Wenn eine ECU mehrere Systeme enthält, enthält sie mehrereSteuerungsanwendungssoftwares.
[0035] Die dezentralisierten Steuerungsplattformen 20 und 50,die spätermit Bezug auf die 2 und 3 beschrieben werden, besitzendieselbe den jeweiligen ECUS gemeinsame Architektur, die als inneren Aufbaueine gemeinsame (common) Datenbank für Bedingungen innerhalb undaußerhalbeines Fahrzeugs, eine Datenschlange und weitere Einrichtungen enthält. Diedezentralisierten Steuerungsplattformen 20 und 50 besitzeneine Ablaufsteuerungsfunktion zur Regelung oder Verwaltung einerAktivierung oder Hierarchie von Betriebsabläufen zwischen jeweiligen ECUS und/oder jeweiligen Steuerungsanwendungssoftwaresund außerdemeine Funktion zur Sicherung einer Positionstransparenz auf der Grundlagevon Anordnungsinformationen, die eine ECU anzeigen, in der die Steuerungsanwendungssoftwareangeordnet ist. Außerdembesitzen die dezentralisierten Steuerungsplattformen 20 und 50 eineFunktion zur Realisierung einer Zeitsynchronisation zwischen jeweiligenSteuerungsanwendungssoftwares und/oder elektronischen Steuerungsvorrichtungen zusammenmit der Reihenfolgeverwaltung durch die Ablaufsteuerung.
[0036] Jede der Treibersoftwares 30 und 60 empfängt einevon der zugeordneten Steuerungsanwendungssoftware über dendezentralisierten Steuerungsanwendungsrahmen (framework) gesendeten Befehlund steuert einen nicht gezeigten Aktuator (ACT) an, der von dieserSteuerungsanwendungssoftware abhängt.Die Treibersoftwares 30 und 60 empfangen erfassteInformationen, die durch jeweilige Aktuatoren erhalten werden, und übertragendie erfassten Informationen an die gemeinsame Datenbank für Bedingungeninnerhalb und außerhalbdes Fahrzeugs des dezentralisierten Steuerungsanwendungsrahmens.
[0037] 2 istein schematisches Diagramm, das hauptsächlich den Aufbau der in 1 gezeigten dezentralisiertenSteuerungsplattformen 20 und 50 zeigt. Die injeweiligen ECUs vorgesehenen dezentralisierten Steuerungsplattformensind hinsichtlich ihrer Architektur ähnlich. Mit anderen Wortenist dieser Aufbau im Wesentlichen äquivalent zu dem einer einzigengemeinsam fürjeweilige ECUS vorgesehenen dezentralisierten Steuerungsplattform.
[0038] Da sich die dezentralisierten Steuerungsplattformen 20 und 50 inden jeweiligen ECUs 1 und 2 in ihrer Architektur ähneln, können diesedezentralisierten Steuerungsplattformen 20 und 50 alseine einzige Software betrachtet werden. Die dezentralisierte Steuerungsplattform 20 (50)besitzt eine gemeinsame Datenbank für Bedingungen innerhalb undaußerhalbdes Fahrzeugs, die den Steuerungsanwendungssoftwares 10 und 40 derjeweiligen ECUS 1 und 2 gemeinsam (common) ist. Die Steuerungsanwendungssoftwares 10 und 50 empfangen Bedingungsdatenvon der gemeinsamen Datenbank fürBedingungen innerhalb und außerhalbdes Fahrzeugs, wie es durch einen durchgezogenen Pfeil 200 gezeigtist. Die Anforderungsbefehlsdaten zur Anforderung bzw. Aufforderungder Ausführungdes Systems, die von der Steuerungsanwendungssoftware 10 erstelltwerden, werden einmal einer Datenschlange von der Steuerungsanwendungssoftware 10 über einenSoftwarebus 501 der dezentralisierten Steuerungsplattform 20 (50)zugeführt, wiees durch einen gestrichelten Pfeil 300' dargestellt ist. Danach werdendie Anforderungsbefehlsdaten überden Softwarebus 501 an die Steuerungsanwendungssoftware 40 übertragen,wie es durch einen gestrichelten Pfeil 300 gezeigt ist.Außerdemwerden die Bedingungsdaten, die von jeweiligen Aktuatoren erhalten werden,von jeweiligen Treibersoftwares 30 und 60 an dieDatenbank fürBedingungen innerhalb und außerhalbdes Fahrzeugs übertragen,wie es durch einen durchgezogenen Pfeil 200' dargestellt ist, und erneuert.Die Erneuerung der Bedingungsdaten wird gleichzeitig gemeinsam für jeweiligegemeinsame Datenbanken fürBedingungen innerhalb und außerhalbdes Fahrzeugs in den dezentralisierten SteuerungsanwendungsrahmensämtlicherECUs ausgeführt.
[0039] Die dezentralisierte Steuerungsplattform 20 (50)enthältSystemkonfigurationsinformationen wie z. B eine Systemablaufsteuerungund Steuerungsanwendungsanordnungsinformationen. Die Systemablaufsteuerungbetrifft die Ausführungsreihenfolgewie z. B. Betriebs- oder Berechnungszeitabläufe und Aktivierungszeitabläufe zwischenjeweiligen ECUs und/oder jeweiligen Steuerungsanwendungen. Außerdem sinddie Steuerungsanwendungsanordnungsinformationen Positionsinformationen,die eine ECU anzeigen, in der die Steuerungsanwendung angeordnetist. Die Architektur der dezentralisierten Steuerungsplattformen 20 und 50 jeweiligerECUs ist hinsichtlich der Funktion zur Realisierung der zuvor beschriebenenZeitsynchronisation, der die Positionstransparenz betreffenden Funktionund der die Ablaufsteuerung betreffenden Funktion ebenso wie hinsichtlichder gemeinsamen Datenbank der Bedingungen innerhalb und außerhalbdes Fahrzeugs und der Datenschlange gemeinsam (common).
[0040] Wenn eine Kombination aus der Datenbank für Bedingungeninnerhalb und außerhalbdes Fahrzeugs und der Daten schlange ausschließlich für eine jeweilige Steuerungsanwendungssoftwaresvorgesehen ist, ist die Anzahl der gemeinsamen Datenbanken für Bedingungeninnerhalb und außerhalbeines Fahrzeugs und der Datenschlangen, die in den dezentralisiertenSteuerungsplattformen jeweiliger ECUs vorgesehen sind, in Abhängigkeitvon der Anzahl der in einer einzigen ECU vorgesehenen Steuerungsanwendungssoftwaresvariabel. Die Architektur der dezentralisierten Steuerungsplattformen 20 und 50 jeweiligerECUS kann jedoch sogar in einem derartigen Fall identisch aufgebautsein.
[0041] Es ist möglich, die Kombination ausder gemeinsamen Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs und der Datenschlagen ausschließlich für jede der Steuerungsanwendungssoftwaresoder alternativ fürjede der ECUs vorzusehen. Es ist ebenso möglich, die gemeinsame Datenbankfür Bedingungeninnerhalb und außerhalb einesFahrzeugs und die Datenschlange in Abhängigkeit von den Merkmalender überdie gemeinsame Datenbank fürBedingungen innerhalb und außerhalb einesFahrzeugs übertragenenBedingungsdaten und der Merkmale der über die Datenschlange übertragenenAnforderungsbefehlsdaten anzuordnen. Zum Beispiel ist es möglich, eineGruppe von Bedingungsdaten und/oder Anforderungsbefehlsdaten zu erstellen,die Eigenschaften zur gemeinsamen Verarbeitung unter identischerZeitverwaltung aufweisen. In diesem Fall können die gemeinsame Datenbank für Bedingungeninnerhalb und außerhalbeines Fahrzeugs und/oder die Datenschlange, die für die Gruppegemeinsam verwendet werden, in jeder ECU vorhanden sein. In diesemFall besteht die Möglichkeit,dass die gemeinsame Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs und/oder die Datenschlange nicht für jede Steuerungsanwendungssoftwarevorgesehen ist.
[0042] 3 istein Diagramm, das eine detaillierte Steuerungssoftwarearchitekturmit den Inhalten der 1 und 2 und Steuervorrichtungen,die diese Softwarearchitektur verwenden, zeigt. Der in 3 gezeigte Aufbau unterscheidetsich von denen der 1 und 2 dadurch, dass insgesamtdrei ECUs vorgesehen sind.
[0043] Die dezentralisierte Steuerungsplattform 20 derersten ECU 1 enthälteine gemeinsame Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs und eine Datenschlange 23. Die dezentralisierteSteuerungsplattform 50 der zweiten ECU 2 enthält zweigemeinsame Datenbanken fürBedingungen innerhalb und außerhalbdes Fahrzeugs 52 und 54 und zwei Datenschlangen 53 und 55.Ein Satz aus der gemeinsamen Datenbank für Bedingungen innerhalb undaußerhalbeines Fahrzeugs 52 und der Datenschlange 53 isteiner Steuerungsanwendungssoftware 40 zugeordnet. Ein andererSatz aus der gemeinsamen Datenbank für Bedingungen innerhalb undaußerhalbdes Fahrzeugs 54 und der Datenschlange 55 istder Steuerungsanwendungssoftware 41 zugeordnet. Mit anderenWorten ist die Kombination aus einer gemeinsamen Datenbank für Bedingungeninnerhalb und außerhalbdes Fahrzeugs und einer Datenschlange für eine jeweilige Steuerungsanwendungssoftwarevorgesehen. Auf ähnlicheWeise besitzt eine dritte ECU 3 eine dezentralisierte Steuerungsplattform 80,die eine gemeinsame Datenbank fürBedingungen innerhalb und außerhalb desFahrzeugs 82 und eine Datenschlange 83 enthält, dieeiner Steuerungsanwendungssoftware 70 zugeordnet ist.
[0044] Die gemeinsamen Datenbanken für Bedingungeninnerhalb und außerhalbdes Fahrzeugs 22, 52, 54 und 82,die in den dezentralisierten Steuerungsplattformen 20, 50 und 80 derjeweiligen ECUs 1 bis 3 vorgesehen sind, empfangendieselben von den jeweiligen Aktuatoren über die Treibersoftwares empfangenenBedingungsdaten. Diese Bedingungs daten werden als gemeinsame Bedingungsdatengespeichert und erneuert.
[0045] Genauer gesagt sind die Bedingungsdaten 101 bis 104 Bedingungsdaten,die in den Systemen, die durch die Steuerungsanwendungssoftwares 10, 40, 41 und 70 realisiertwerden, benötigtwerden. Zum Beispiel betreffen praktische Bedingungsdaten, die inden Fahrzeugsteuerungen verwendet werden, eine Fahrzeugfahrgeschwindigkeit,eine Raddrehzahl, eine Motordrehzahl, eine Kraftstoffeinspritzmenge,eine Fahrzeugbeschleunigung und ähnliches.Diese Bedingungsdaten werden von mindestens einem der Systeme benötigt undhaben vorzugsweise einen eindeutigen (univocal) Wert, sogar wenn siein mehreren Systemen benötigtwerden. Es ist zum Beispiel ein Kraftfahrzeug mit einem Fahrzeugstabilisierungssystem,einem Motoransteuerungssystem und einem Antischlupfsteuerungssystemversehen. In diesem Fall dient die Fahrzeugfahrgeschwindigkeit alsgemeinsame Bedingungsdaten für allediese Systeme. Andererseits sollten die Raddrehzahl, die Motordrehzahl,die Kraftstoffeinspritzmenge, die Fahrzeugbeschleunigung und ähnliches ebensoals gemeinsame Bedingungsdaten jeweiliger Systeme verwendet werden.
[0046] Die Datenschlangen 23, 53, 55 und 83 besitzendie Fähigkeitzur vorübergehendenSpeicherung von Anforderungsbefehlsdaten zur Ausführung des Systemsbeim Austausch der Steuerungsanwendungssoftwares. Genauer gesagtist es in dem Fall, in dem die Steuerungsanwendungssoftwares dieAnforderungsbefehlsdaten direkt austauschen, schwierig für jede derSteuerungsanwendungssoftwares, die Reihenfolge der empfangenen Anforderungsbefehlsdatenzu bestimmen, da die Steuerungsanwendungssoftware die Reihenfolgeder Daten nicht selbst bestimmen kann. Somit wird die Fähigkeitzur Bestimmung der Reihenfolge der Anforderungsbefehlsdaten derdezentralisierten Steuerungsplattform zugewiesen, in der die Priorität durchdie Datenschlange bestimmt wird, die die Daten vorübergehendspeichert.
[0047] Zum Beispiel wird jeder der Anforderungsbefehlsdatenin jeder der Anwendungssoftwares, die über das Netzwerk miteinanderverbunden sind, zuvor eine Priorität zugewiesen. Die Datenschlangen bestimmendie Reihenfolge entsprechend der Priorität. Z. B. betrifft ein Drehmomentanforderungsbefehl praktischeAnforderungsbefehlsdaten, die in den Fahrzeugsteuerungen verwendetwerden. Genauer gesagt ist der Drehmomentanforderungsbefehl beim Motorsteuerungssystemein Motoransteuerungsdrehmoment (Achsenansteuerungsdrehmoment).In dem Antischlupfsteuerungssystem ist der Drehmomentanforderungsbefehlein Bremsendrehmoment, das auf ein Rad ausgeübt wird. Auf diese Weise istes möglich,einen Anforderungsbefehlswert als Anforderungsbefehlsdaten zu bezeichnen,wenn dieser Anforderungsbefehlswert zur Ausführung der Steuerung mit denjeweiligen Systemen gemeinsamen Dimensionen dient. Andererseitskönnendie Anforderungsbefehlsdaten ein Anforderungsbefehlswert sein, derjedem System unabhängiggegeben ist. Außerdemist es möglich,dass die Anforderungsbefehlsdaten sowohl die oben beschriebenenden jeweiligen Systemen gemeinsamen Anforderungsbefehlswerte undspezielle Anforderungsbefehlswerte für die jeweiligen Systeme enthalten.
[0048] Jede der Datenschlangen 23, 53, 55 und 83 enthält eineAnnahmedatenschlange zum Empfangen von Anforderungsbefehlsdatenvon einer entsprechenden Steuerungsanwendungssoftware und eine Herausgabedatenschlangezur Herausgabe von Anforderungsbefehlsdaten, die einer bezeichneten Steuerungsanwendungssoftwarezugeführtwerden. Wie zuvor beschrieben führtjede Annahmedatenschlange die Annahme in Abhängigkeit von der Priorität aus, dieden Anforderungsbefehlsdaten zuvor zugewiesen wurde. Auf ähnliche Weise überträgt jedeHerausgabedatenschlange den Steuerungsanforderungsbefehl in Abhängigkeitvon dieser Priorität.
[0049] Im Folgenden werden mit Bezug aufdie 3 und 4 der Fluss der Bedingungsdaten 101 bis 104,die zwischen jeweiligen Steuerungsanwendungssoftwares über diedezentralisierte Steuerungsplattform und die Treibersoftware ausgetauscht werden,und der Fluss der Anforderungsbefehlsdaten 105, die beider Ausführungdes Systems verwendet werden, erläutert.
[0050] Wie in der Tabelle der 4 gezeigt ist, wird vonjeweiligen Steuerungsanwendungssoftwares 10, 40 und 70 zugeführten Steuerungsanforderungsbefehleneine Prioritätzugewiesen. Genauer gesagt besitzt der Steuerungsanforderungsbefehl,der von der Steuerungsanwendungssoftware 10 bereitgestellt wird(durch einen gestrichelten Pfeil 300 gezeigt), die erstePriorität(Priorität 1).Der Steuerungsanforderungsbefehl, der von der Steuerungsanwendungssoftware 40 bereitgestelltwird (durch einen gestrichelten Pfeil 301 gezeigt), besitztdie zweite Priorität (Priorität 2).Der Steuerungsanforderungsbefehl, der von der Steuerungsanwendungssoftware 70 bereitgestelltwird (durch einen gestrichelten Pfeil 302 gezeigt), besitztdie dritte Priorität(Priorität 3).Gemäß dieserAusführungsformempfängtdie Steuerungsanwendungssoftware 41 nur den von einer anderen Steuerungsanwendungssoftwarebereitgestellten Steuerungsanforderungsbefehl. Somit wird von dieserSteuerungsanwendungssoftware 41 kein Steuerungsanforderungsbefehlerstellt.
[0051] Zunächst wird im Folgenden derFluss der Bedingungsdaten 101 bis 104 erläutert. Unterden verschiedenen Flüssenjeweiliger Bedingungsdaten ist der Fluss der Bedingungsdaten ineiner jeweiligen ECU durch eine jeweili ge durchgezogene Linie 200 dargestellt.Der Fluss der Bedingungsdaten zwischen den ECUs über das Netzwerk 500 istdurch eine jeweilige abwechselnd lange und kurze gestrichelte bzw.gepunktete (strichpunktierte) Linie 201 dargestellt.
[0052] Unter den Bedingungsdaten 101-104 betreffendie drei Bedingungsdaten 101, 103 und 104 Erfassungswerte,die periodisch von jeweiligen Aktuatoren über das Netzwerk 500 unddie Treibersoftware 30, 60 und 90 erhaltenwerden. Die Bedingungsdaten 101, 103 und 104 werdenals gemeinsame Werte in jeweiligen gemeinsamen Datenbanken für Bedingungeninnerhalb und außerhalbdes Fahrzeugs 22, 52, 54 und 82 gespeichertund erneuert. Andererseits betreffen die verbleibenden Bedingungsdaten 102 die Bedingungeines Wertes, der in der Steuerungsanwendungssoftware 10 verarbeitetund in der gemeinsamen Datenbank für Bedingungen innerhalb und außerhalbdes Fahrzeugs 22 gespeichert wird.
[0053] Zunächst werden unter diesen Bedingungsdaten 101-104 dieBedingungsdaten 102 und 103 an einen Nachrichtenrahmen(frame) 31 der Treibersoftware 30 übertragen.Danach wird dieser Nachrichtenrahmen 31 über dasNetzwerk 500 gleichzeitig an die Treibersoftware 60 derzweiten ECU 2 und an die Treibersoftware 90 derdritten ECU 3 übertragen. Dannsenden die Treibersoftware 60 und die Treibersoftware 90 gleichzeitignotwendige Bedingungsdaten, die in diesem Nachrichtenrahmen 31 enthalten sind,an die jeweilige gemeinsame Datenbank für Bedingungen innerhalb undaußerhalbdes Fahrzeugs 52 und gemeinsame Datenbank für Bedingungeninnerhalb und außerhalbdes Fahrzeugs 82. Genauer gesagt werden in der zweitenECU 2 die Bedingungsdaten 102 und die Bedingungsdaten 103,die von dem Nachrichtenrahmen 31 zugeführt werden, in der gemeinsamenDatenbank fürBedingungen innerhalb und außerhalbdes Fahrzeugs gespeichert. In der dritten ECU 3 werdennur die Bedingungsdaten 102 unter den Bedingungsdaten,die in dem Nachrichtenrahmen 31 enthalten sind, in dergemeinsamen Datenbank fürBedingungen innerhalb und außerhalb desFahrzeugs 82 gespeichert. Auf diese Weise wählt jedeECU die benötigtenBedingungsdaten aus und verwaltet den Zeitablauf der Übertragungder Bedingungsdaten. In diesem Fall werden nur die Bedingungsdaten,die füreine jeweilige Steuerungsanwendungssoftware, die in -dieser ECUinstalliert ist, benötigtwerden, durch eine jeweilige ECU oder eine jeweilige Steuerungsanwendungssoftwareverwaltet. Die Bedingungsdaten 103, die in der gemeinsamen Datenbankfür Bedingungeninnerhalb und außerhalb desFahrzeugs 22 gespeichert sind, sind identisch zu denen,die in den gemeinsamen Datenbanken für Bedingungen innerhalb undaußerhalbdes Fahrzeugs 52, 54 und 82 gespeichertsind. Die Bedingungsdaten 103 können im Nachrichtenrahmen 31 untergebrachtsein, müssenes aber nicht. In dem Fall, in dem die Steuerungsanwendungssoftware 10 den Steuerungsanwendungssoftwares 40 und 70 befiehlt,die Bedingungsdaten 102 und 103 unter mehrerenBedingungsdaten im nächstenBetriebsablauf oder im nächstenBerechnungszeitpunkt zu verwenden, ist es jedoch notwendig, dieseim Nachrichtenrahmen 31 einzubringen. In diesem Fall istes schwierig, eine Konsistenz hinsichtlich der Zeitsynchronisationbeim Austauschen der Bedingungsdaten unter jeweiligen gemeinsamenDatenbanken für Bedingungeninnerhalb und außerhalbeines Fahrzeugs zu gewährleisten,wenn jede gemeinsame Datenbank fürBedingungen innerhalb und außerhalb einesFahrzeugs fürjede ECU und fürjede Steuerungsanwendungssoftware installiert und ausschließlich verwaltetwird. Zur Lösungdieses Problems wird die Zeitsynchronisationsfunktion der dezentralisiertenPlattform zugewiesen, die füralle ECUs gemeinsam verwendet wird.
[0054] 5 istein Zeitdiagramm zur Erläuterung derFunktion der dezentralisierten Steuerungsplattform zur Realisierungeiner optimalen Zeitsynchronisation zwischen mehreren ECUs. Dasoben beschriebene Problem der Zeitsynchronisation taucht später nocheinmal bei dem Steuerungsanforderungsbefehl, der später beschriebenwird, auf.
[0055] Die Bedingungsdaten, die zuvor inder Steuerungsanwendungssoftware 40 verarbeiteten Bedingungsdaten 104 entsprechen,werden von der Steuerungsanwendungssoftware 40 an die gemeinsame Datenbankfür Bedingungeninnerhalb und außerhalb einesFahrzeugs 52 übertragen.Danach werden die Bedingungsdaten 104 von der gemeinsamenDatenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs 52 an die der Steuerungsanwendungssoftware 41 zugeordnetengemeinsame Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs 54 und anschließend an die Steuerungsanwendungssoftware 41 übertragen.
[0056] Danach werden die Bedingungsdaten 102 vonder gemeinsamen Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs 82 an die Steuerungsanwendungssoftware 70 übertragen.Danach werden die Bedingungsdaten, die den zuvor in der Steuerungsanwendungssoftware 70 verarbeitetenBedingungsdaten 101 entsprechen, von der Steuerungsanwendungssoftware 70 andie gemeinsame Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs 82 übertragen.
[0057] Im Folgenden wird der Fluss der Steuerungsanforderungsbefehlebeschrieben. Der Fluss des Steuerungsanforderungsbefehls in einerjeweiligen ECU ist durch jeweilige gestrichelte Linien 300 und 301 angedeutet.Der Fluss der Steuerungsanforderungsbefehle zwischen den ECUs über dasNetzwerk 500 ist durch eine abwechselnd lange und doppelt gepunkteteLinie 310 angedeutet. Der Steuerungsanforderungsbefehl 300 dientzur Übertragungder Anforderungsbefehlsdaten 105 von der Steuerungsanwendungssoftware 10 andie Datenschlange 23. Dieser Steuerungsanforderungsbefehlwird an einen Nachrichtenrahmen 32 der Treibersoftware 30 und andie Treibersoftware 60 der zweiten ECU 2 des Netzwerks 500 übertragen.Danach wird dieser Steuerungsanforderungsbefehl von der Treibersoftware 60 andie der Steuerungsanwendungssoftware 41 zugeordneten Datenschlange 55 übertragen.
[0058] Die Steuerungsanwendungssoftware 40 überträgt den Steuerungsanforderungsbefehl 301, derdie Anforderungsbefehlsdaten 106 enthält, an die Datenschlange 53.Da die Anforderungsbefehlsdaten 106 in der Steuerungsanwendungssoftware 41 verwendetwerden, werden die Anforderungsbefehlsdaten 106 an dieDatenschlange 55 übertragen.Danach werden die Anforderungsbefehlsdaten 106 von derDatenschlange 55 an die Steuerungsanwendungssoftware 41 übertragen.
[0059] Die Anforderungsbefehlsdaten 105,die in der Datenschlange 83 der ECU 3 gespeichertsind, werden an die Steuerungsanwendungssoftware 70 übertragen.
[0060] 5 erläutert dieSicherstellung der Zeitsynchronisation zwischen jeweiligen ECUsund/oder zwischen jeweiligen Anwendungssoftwares. Zur Vereinfachungder Darstellung verwendet 5 nur zweiSteuerungsanwendungssoftwares 10 und 70. Diesekann jedoch ohne weiteres auf drei oder mehr Steuerungsanwendungssoftwareserweitert werden.
[0061] Wie in 5 gezeigtist, sind die Endzeitdauern T1 und T2 so definiert, dass jeweiligeSteuerungsanwendungssoftwares 10 und 70 sicherabschließenbzw. die in jewei ligen Steuerungsanwendungssoftwares benötigte Verarbeitungvollenden. Im Allgemeinen werden diese Endzeitdauern T1 und T2 statistischentsprechend den Inhalten der in der jeweiligen SteuerungsanwendungssoftwareausgeführtenVerarbeitung bestimmt. Die Betriebs- oder Berechnungsergebnisse,die innerhalb dieser Endzeitdauern erhalten werden, werden als eineNachricht entsprechend einer Übertragungsaufgabe übertragen.Jede Steuerungsanwendungssoftware wird periodisch aktiviert (z.B. alle 6 ms) oder startet mit anderen Worten Betriebsabläufe oderBerechnungen in bestimmten Zeitintervallen. Somit ermöglicht das Definiereneiner unabhängigenEndzeitdauer füreine jeweilige Steuerungsanwendungssoftware, dass eine periodische Übertragungdurch die Übertragungsaufgabeausgeführtwerden kann.
[0062] Außerdem wird während derVerarbeitung der Steuerungsanwendungssoftware das Berechnungsergebnisanderer Knoten oder ähnlichemempfangen, und die gemeinsame Datenbank für Bedingungen innerhalb undaußerhalbeines Fahrzeugs wird erneuert. Damit kein nachteiliger Einflussauf die Verarbeitung einer jeweiligen Steuerungsanwendungssoftwareausgeübtwird, ist es vorzuziehen, den Aktivierungs- und/oder Beendigungszeitablauf für eine jeweiligeAnwendungssoftware zu begrenzen. Außerdem ist es vorzuziehen,die Bedingungsdaten in den jeweiligen gemeinsamen Datenbanken für Bedingungeninnerhalb und außerhalbeines Fahrzeugs 22, 52, 54 und 82 gleichzeitigzu erneuern. Auf diese Weise wird die Zeitsynchronisation zwischen mehrerenSystemen auf der Grundlage der Endzeitdauer einer jeweiligen Steuerungsanwendungssoftwaredurchgeführt,um eine zuverlässigeZeitsynchronisation durch eine Systemablaufssteuerung zu realisieren.Außerdemermöglichtes eine Zuweisung einer derartigen Zeitsynchronisationsfunktionan die dezentralisierte Steuerungsplattform, dass die kooperativeSteuerung unter meh reren Systemen stabil ausgeführt werden kann ohne dass diesedurch eine Verarbeitungslaständerungin jeweiligen Steuerungsanwendungssoftwares oder durch eine zeitweilige Veränderung,die durch externe Faktoren, wie z. B. eine Unterbrechungsverarbeitungoder eine Aufgabenverarbeitung mit hoher Priorität entsteht, beeinflusst wird.Die Zeitsynchronisationsfunktion ist eine Funktion zur Sicherstellungder Konsistenz der Daten, die unter mehreren Steuerungsanwendungssoftwaresund/oder elektronischen Steuervorrichtungen, die gemeinsam die Konsistenzin ihren Betriebsabläufenbenötigen,ausgetauscht werden. Die Realisierung der Zeitsynchronisation dientzur Sicherstellung der Konsistenz der Daten.
[0063] Obwohl die Konsistenz der Daten unddie Zeitsynchronisationsfunktion mit Bezug auf 5 erläutertwerden, kann deren Bedeutung kurz als eine Funktion ausgedrückt werden,die verhindert, dass Daten, die aufgrund unterschiedlicher Betriebszeitabläufe entstehen,unerwünschtgemischt werden. Es sollten z. B. in einem Fall, in dem jeweiligeAnwendungssoftwares in der Steuerungsanwendungssoftware sich hinsichtlichdes Betriebs- oder Berechnungszeitablaufes voneinander unterscheiden,oder in einem Fall, in dem sich die Erfassungsergebnisse jeweiligerSensoren, die an jeweilige elektronische Steuervorrichtungen übertragenwerden, hinsichtlich des Empfangszeitablaufes oder des Betriebs-oder Berechnungszeitablaufes unterscheiden, oder in einem Fall,in dem ein signifikanter Unterschied zwischen den internen Uhren,die in jeweiligen elektronischen Steuerungsvorrichtungen vorgesehensind, besteht, die Daten, die sich aus dem (n–*)ten Betriebs- (oder Empfangs-)Zeitablauf ergeben, von den Daten unterschieden oder getrennt werden,die sich aus dem n-ten Betriebs- (oder Empfangs-) Zeitablauf ergeben.
[0064] Zum Zeitpunkt t1 wird die Ausführung der Verarbeitungin der Steuerungsanwendungssoftware 70 gestartet. Zunächst werdendie Bedingungsdaten 102 ihrer eigenen gemeinsamen Datenbankfür Bedingungeninnerhalb und außerhalbdes Fahrzeugs 82 erneuert, und die Anforderungsbefehlsdaten 106 derDatenschlange 83 werden ebenfalls erneuert. Genauer gesagtfordert die dritte ECU 3 die erste ECU 1 auf,die neuesten Werte der Bedingungsdaten 102 und der Anforderungsbefehlsdaten 106 zu übertragen.Danach wird zum Zeitpunkt t2 die Verarbeitung der Steuerungsanwendungssoftware 10 während derAusführungder Verarbeitung in der Steuerungsanwendungssoftware 70 gestartet.Die Steuerungsanwendungssoftware 10 besitzt eine höhere Priorität als dieSteuerungsanwendungssoftware 70. Die Endzeitdauer der Verarbeitungdieser Steuerungsanwendungssoftware 10 wird auf die Zeitdauer T1eingestellt, wobei die Verarbeitung vom Zeitpunkt t2 aus startet.Beim Starten der Verarbeitung der Steuerungsanwendungssoftware 10 wirdihre eigene gemeinsame Datenbank für Bedingungen innerhalb undaußerhalbeines Fahrzeugs 22 erneuert, und es werden die Anforderungsbefehlsdatenin der Datenschlange 23 ebenfalls erneuert. Danach wirddie Verarbeitung in der Steuerungsanwendungssoftware 10 zum Zeitpunktt3, der früherals der Zeitpunkt t4 liegt, der durch die Endzeitdauer T1 bestimmtwird, sicher beendet. Zum Zeitpunkt t4 wird auf eine Übertragungsaufgabehin eine Übertragungzur dritten ECU 3 ausgeführt. In diesem Fall werdenzum Ende der Verarbeitung die Bedingungsdaten und die Anforderungsbefehlsdaten,die in der Steuerungsanwendungssoftware 10 verarbeitetwurden, jeweils an die gemeinsame Datenbank für Bedingungen innerhalb undaußerhalbeines Fahrzeugs 22 und die Datenschlange 23 übertragen.
[0065] Unterdessen endet die Verarbeitungin der untergeordneten Steuerungsanwendungssoftware 70 zum Zeitpunktt5, der vor dem Zeitpunkt t6 liegt, der durch die Endzeitdauer T2bestimmt wird, die von dem Beginn der Verarbeitung an startet. AmEnde der Verarbeitung werden die Bedingungsdaten, die in der Steuerungsanwendungssoftware 70 verarbeitet wurden,an die gemeinsame Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs 82 übertragen.
[0066] Diese Erfindung ist nicht auf dieoben beschriebene Ausführungsformbeschränkt,sondern kann auf verschiedene Weise modifiziert werden.
[0067] Zum Beispiel erfolgen gemäß der obenbeschriebenen Ausführungsformendie Übertragung undErneuerung der Bedingungsdaten in den gemeinsamen Datenbanken für Bedingungeninnerhalb und außerhalbdes Fahrzeugs 22, 52, 54 und 82,die überjeweilige Treibersoftwares ausgeführt werden, gleichzeitig, umdie Zeitsynchronisation sicherzustellen. Es besteht jedoch die Möglichkeit,dass die Datenerneuerung währendder Verarbeitung in einer bestimmten SteuerungsanwendungssoftwareProbleme im System verursacht. In diesem Fall ist es vorzuziehen,diese Bedingungsdaten füreine Weile in einen Schwebe- oder Wartezustand zu bringen und danndiese Bedingungsdaten zum Aktivierungs- und/oder Beendigungszeitablaufbzw. – zeitpunkt(timing) dieser Steuerungsanwendungssoftware zu übertragen und zu erneuern.
[0068] Die Bedingungsdaten können zumBeispiel bei der Verarbeitung der Steuerungsanwendungssoftware verwendetwerden. In diesem Fall ist es schwierig, eine angemessene Zeitsynchronisation zwischenden erneuerten Bedingungsdaten und den Originaldaten aufrecht zuerhalten, wenn die Bedingungsdaten während der Betriebsablaufverarbeitung erneuertwerden. In einem derartigen Fall entstehen Probleme im System aufgrundder Datenerneuerung, die während derVerarbeitung der Steuerungsanwendungssoftware durchgeführt wird.Derartige Situationen sind im voraus in der Entwicklungsstufe der Steuerungssoftwarearchitekturvorhersehbar. Dementsprechend ist es wünschenswert, die Priorität für diesebei der Erneuerung und Übertragungder Bedingungsdaten einzustellen.
[0069] Weiterhin enthält die in 3 gezeigte zweite ECU 2 mehrereSteuerungsanwendungssoftwares. Es ist möglich, die Anordnungsinformationen dieserSteuerungsanwendungssoftwares in der dezentralisierten Steuerungsplattformdes dezentralisierten Steuerungsanwendungsrahmens vorzusehen. Aufder Grundlage dieser Anordnungsinformation ist es möglich, diegemeinsame Datenbank fürBedingungen innerhalb und außerhalbeines Fahrzeugs der entgegengesetzten Steuerungsanwendungssoftwareohne Verwendung des Netzwerks zu erneuern, wenn eine Steuerungsanwendungssoftwarein derselben ECU vorhanden ist, an die die Anforderungsbefehlsdatenoder die Bedingungsdaten übertragen werden.Oder es ist möglich,die Anforderungsbefehlsdaten direkt in ein Register der entgegengesetztenDatenschlange einzutragen. Natürlichist es auch möglich,das Netzwerk an Stelle der Ausführungder oben beschriebenen direkten Erneuerung und Registrierung zuverwenden.
权利要求:
Claims (11)
[1] Steuerungssoftwarearchitektur zur Realisierung einer dezentralisiertenkooperativen Steuerung mehrerer elektronischer Steuerungsvorrichtungen, die über einNetzwerk verbunden sind, dadurch gekennzeichnet, daß keineDatenverwaltungsfunktion und keine Zeitsynchronisationsfunktionin einer jeweiligen Steuerungsanwendungssoftware (10, 40, 41, 70),die in einer jeweiligen elektronischen Steuerungsvorrichtung (1, 2, 3)zur Realisierung eines jeweiligen Systems vorbereitet ist, enthaltensind, und eine Datenverwaltungsfunktion und eine Zeitsynchronisationsfunktioneiner untergeordneten dezentralisierten Steuerungsplattform (20, 50, 80)der jeweiligen Steuerungsanwendungssoftware zugeordnet sind, umgemeinsam fürdie elektronischen Steuerungsvorrichtungen verwendet zu werden.
[2] Steuerungssoftwarearchitektur zur Realisierung einerdezentralisierten kooperativen Steuerung einer ersten elektronischenSteuerungsvorrichtung (1) und einer zweiten elektronischenSteuerungsvorrichtung (2), die über ein Netzwerk verbundensind, dadurch gekennzeichnet, daß die erste elektronischeSteuerungsvorrichtung (1) aufweist: mindestens eineSteuerungsanwendungssoftware (10) zur Realisierung mindestenseines Systems, wobei die Steuerungsanwendungssoftware keine Datenverwaltungsfunktionaufweist, eine dezentralisierte Steuerungsplattform (20)mit einer Datenverwaltungsfunktion, und eine Treibersoftware(30) zum Empfangen eines Aktuatoransteuerungsbefehls vonder Steuerungsanwendungssoftware (10) über die dezentralisierte Steuerungsplattform(20) und/oder zum Übertragen vonDaten an die dezentralisierte Steuerungsplattform (20), diezweite elektronische Steuerungsvorrichtung (2) aufweist: mindestenseine Steuerungsanwendungssoftware (40) zur Realisierungmindestens eines Systems, wobei die Steuerungsanwendungssoftwarekeine Datenverwaltungsfunktion aufweist, eine dezentralisierteSteuerungsplattform (50) mit einer Datenverwaltungsfunktion,und eine Treibersoftware (60) zum Empfangen einesAktuatoransteuerungsbefehls von der Steuerungsanwendungssoftware(40) überdie dezentralisierte Steuerungsplattform (50) und/oderzum Übertragen vonDaten an die dezentralisierte Steuerungsplattform (50), wobeidie dezentralisierte Steuerungsplattform (20), die in derersten elektronischen Steuerungsvorrichtung (1) vorgesehenist, und die dezentralisierte Steuerungsplattform (50),die in der zweiten elektronischen Steuerungsvorrichtung (2)vorgesehen ist, einander angeglichen sind.
[3] Steuerungssoftwarearchitektur zur Realisierung einerdezentralisierten kooperativen Steuerung mehrerer elektronischerSteuerungsvorrichtungen, die überein Netzwerk verbunden sind, dadurch gekennzeichnet, daß jededer elektronischen Steuerungsvorrichtungen (1, 2, 3)aufweist: eine Steuerungsanwendungssoftware (10, 40, 41, 70)zur Realisierung eines jeweiligen Systems, wobei die Steuerungsanwendungssoftwarekeine Datenverwaltungsfunktion aufweist, eine dezentralisierteSteuerungsplattform (20, 50, 80) miteiner Datenverwaltungsfunktion, und eine Treibersoftware (30, 60, 90), wobeidie dezentralisierte Steuerungsplattform (20, 50, 80)als eine den jeweiligen elektronischen Steuerungsvorrichtungen gemeinsameEinrichtung aufweist: eine Datenschlange (23, 53, 55, 83)zur vorübergehendenSpeicherung von Anforderungsbefehlsdaten zur Realisierung des Systems,und einen gemeinsamen Bedingungsdatenabschnitt (22, 52, 54, 82)zur vorübergehendenSpeicherung von Bedingungsdaten, die bei der Ausführung desSystems verwendet werden.
[4] Steuerungssoftwarearchitektur zur Realisierung einerdezentralisierten kooperativen Steuerung mehrerer elektronischerSteuerungsvorrichtungen, die überein Netzwerk verbunden sind, dadurch gekennzeichnet, daß jededer elektronischen Steuerungsvorrichtungen (1, 2, 3)aufweist: eine Steuerungsanwendungssoftware (10, 40, 41, 70)zur Realisierung eines jeweiligen Systems, wobei die Steuerungsanwendungssoftwarekeine Zeitsynchronisationsfunktion aufweist, eine dezentralisierteSteuerungsplattform (20, 50, 80), diegemeinsam fürdie elektronischen Steuerungsvorrichtungen (1, 2, 3)vorgesehen ist, wobei die dezentralisierte Steuerungsplattform eineZeitsynchronisationsfunktion fürKommunikationssoftwares zur Ausführungvon Kommunikationen zwischen jeweiligen Systemen, zwischen jeweiligenSteuerungsanwendungssoftwares und zwischen jeweiligen elektronischenSteuerungsvorrichtungen aufweist, und eine Treibersoftware(30, 60, 90) zum Empfang eines Aktuatoransteuerungsbefehlsvon der Steuerungsanwendungssoftware über die dezentralisierte Steuerungsplattform (20, 50, 80)und/oder zum Übertragen vonDaten an die dezentralisierte Steuerungsplattform (20, 50, 80).
[5] Steuerungssoftwarearchitektur nach Anspruch 3, wobeidie Bedingungsdaten in der jeweiligen elektronischen Steuerungsvorrichtung(1, 2, 3) zusammen erneuert werden.
[6] Steuerungssoftwarearchitektur nach Anspruch 3 oder5, wobei jeder der Anforderungsbefehlsdaten im voraus eine Priorität zugewiesenwird.
[7] Steuerungssoftwarearchitektur nach einem der Ansprüche 3, 5und 6, wobei sämtlichevon der jeweiligen elektronischen Steuerungsvorrichtung (1, 2, 3)oder von der jeweiligen Steuerungsanwendungssoftware (10, 40, 41, 70) übertragenenAnforderungsbefehlsdaten und/oder sämtliche von der jeweiligenSteuerungsanwendungssoftware (10, 40, 41, 70)empfangenen Anforderungsbefehlsdaten über die Datenschlange (23, 53, 55, 83)der dezentralisierten Steuerungsplattform (20, 50, 80)ausgetauscht werden.
[8] Steuerungssoftwarearchitektur nach einem der Ansprüche 1 bis7, wobei die dezentralisierte Steuerungsplattform (20, 50, 80)mit Positionsinformationen versehen ist, die eine ECU identifiziert,in der die Steuerungsanwendungssoftware angeordnet ist.
[9] Steuerungssoftwarearchitektur nach Anspruch 1 oder4, wobei die Zeitsynchronisationsfunktion zur Übertragung der Daten mit Bezugauf einen Übertragungszeitablaufdient, der gemäß einerEndzeitdauer (T1, T2) fürdie Verarbeitung in der Steuerungsanwendungssoftware bestimmt wird,wodurch eine optimale Zeitsynchronisation in jeder elektronischen Steuerungsvorrichtungrealisiert wird.
[10] Steuerungssoftwarearchitektur nach einem der Ansprüche 3, 5und 7, wobei der gemeinsame Bedingungsdatenabschnitt (22, 52, 54, 82)und die Datenschlange (23, 53, 55, 83)für jededer Steuerungsanwendungssoftwares vorgesehen sind, und die Datenschlangeeine Anforderungsannahmedatenschlange zum Empfangen der Anforderungsbefehlsdatenvon einer anderen Steuerungsanwendungssoftware und eine Anforderungsherausgabedatenschlangezum Herausgeben der Anforderungsbefehlsdaten an eine andere Steuerungsanwendungssoftwareenthält.
[11] Steuerungssoftwarearchitektur nach einem der Ansprüche 1 bis10, wobei die dezentralisierte Steuerungsplattform (20, 50, 80)für jededer Steuerungsanwendungssoftwares vorgesehen ist.
类似技术:
公开号 | 公开日 | 专利标题
US10031790B1|2018-07-24|System, method and computer program product for sharing information in a distributed framework
CN100388208C|2008-05-14|在逻辑分区的计算机系统中控制资源转移的装置和方法
DE10292207B4|2007-10-25|Fahrzeug-Multiplex-Kommunikations-System
US5784647A|1998-07-21|Interface for fetching highest priority demand from priority queue, predicting completion within time limitation then issuing demand, else adding demand to pending queue or canceling
DE4219669B4|2007-08-09|Steuergerät zur Berechnung von Steuergrößen für sich wiederholende Steuervorgänge
DE19607531C2|1999-10-21|Zeitoptimierte Übertragungseinrichtung für Rundsendedaten in Multicluster-Computersystemen mit Crossbarnetz
EP1131729B1|2012-03-28|Kommunikationssystem und verfahren mit mehrschichtiger verbindungsidentifizierung
EP0442615B1|1998-12-16|Datenübertragungsadapter und Verfahren zu dessen Betrieb
EP0006216B1|1990-11-07|System zur Verarbeitung digitaler Daten
US6898500B2|2005-05-24|Vehicle integrated control system
US4954948A|1990-09-04|Microprocessor operating system for sequentially executing subtasks
US5588121A|1996-12-24|Parallel computer having MAC-relay layer snooped transport header to determine if a message should be routed directly to transport layer depending on its destination
EP0145244B1|1990-02-21|Mikrorechner
EP1298849B1|2010-01-13|Verfahren und Vorrichtung zur Übertragung von Informationen auf einem Bussystem und Bussystem
CN101207575B|2015-05-20|用于对文件下载进行管理的系统和方法
TWI257575B|2006-07-01|Method of managing power state transitions, and associated apparatus and system thereof
JP4629293B2|2011-02-09|Method and apparatus for exchanging data between at least two subscribers coupled to a bus system
Schmidt et al.2008|Message scheduling for the flexray protocol: The dynamic segment
EP1543389B1|2007-04-18|Verfahren und rechnersystem zum betreiben von mindestens zwei miteinander verbundenen steuergeräten
EP2213054B1|2018-01-17|Kommunikationssystem mit einem can-bus und verfahren zum betreiben eines solchen kommunikationssystems
Sommer et al.2013|Race: A centralized platform computer based architecture for automotive applications
JP5267598B2|2013-08-21|Data rewrite support system and data rewrite support method for vehicle control device
CN101194477B|2012-10-31|通信系统节点、与控制和缓冲相关的数据的数据存储方法
US20110238777A1|2011-09-29|Pipeline systems and method for transferring data in a network environment
CN1470989B|2010-05-26|独立于过程模式的驱动器模型
同族专利:
公开号 | 公开日
US20040143656A1|2004-07-22|
JP2004220326A|2004-08-05|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2009-11-19| 8139| Disposal/non-payment of the annual fee|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]